package net.kucoe.grin.utils;

/**
 * Contains 2 values.
 * 
 * @author Vitaliy Basyuk
 * @param <A>
 * @param <V>
 */
public class Tuple<A, V> {
    
    private A left;
    private V right;
    
    /**
     * Constructs Tuple.
     * 
     * @param left
     * @param right
     */
    public Tuple(final A left, final V right) {
        this.left = left;
        this.right = right;
    }
    
    /**
     * Returns the left A.
     * 
     * @return the left A.
     */
    public A getLeft() {
        return left;
    }
    
    /**
     * Overrides left the left.
     * 
     * @param left the left to set.
     */
    public void setLeft(final A left) {
        this.left = left;
    }
    
    /**
     * Returns the right V.
     * 
     * @return the right V.
     */
    public V getRight() {
        return right;
    }
    
    /**
     * Overrides right the right.
     * 
     * @param right the right to set.
     */
    public void setRight(final V right) {
        this.right = right;
    }
    
}
